package com.markchu.admin.web;

import cn.hutool.core.lang.UUID;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.MapHandler;
import org.apache.commons.dbutils.handlers.MapListHandler;

import java.io.BufferedInputStream;
import java.io.File;  
import java.io.FileOutputStream;  
import java.io.IOException;  
import java.net.HttpURLConnection;  
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

public class DownloadPicture {

    public static void main(String[] args) {
            // 定义数据库连接信息
            String url = "jdbc:mysql://127.0.0.1:27860/timo";
            String username = "root";
            String password = "suggie8611";

            Connection conn = null;
            try {
                // 创建数据库连接
                conn = DriverManager.getConnection(url, username, password);
                // 创建 QueryRunner 对象
                QueryRunner queryRunner = new QueryRunner();
                // 将数据插入到数据库中
                List<Map<String, Object>> dataMapList = queryRunner.query(conn,"select * from timo.web_hospital where new_thums is null",new MapListHandler());
                System.out.println("查询出" + dataMapList.size() + "条记录。");
                for(Map<String,Object> dataMap : dataMapList){
                    String id = dataMap.get("id").toString();
                    String thums = dataMap.get("thums").toString();
                    String uuid = UUID.randomUUID().toString(true);
                    String savePath = "/Users/chuchu/Desktop/upload_pic/images/shop_thums/"+uuid+".jpg";
                    downloadPicture(thums,savePath);
                    queryRunner.update(conn,"update timo.web_hospital set new_thums = '/upload_pic/images/shop_thums/"+uuid+".jpg' where id = "+id);
                    System.out.println(thums);
                }
            } catch (SQLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                throw new RuntimeException(e);
            } finally {
                // 关闭数据库连接
                DbUtils.closeQuietly(conn);
            }


//        String imageUrl = "https://example.com/path/to/image.jpg";
//        String savePath = "path/to/save/image.jpg";
//
//        try {
//            downloadPicture(imageUrl, savePath);
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
    }

    public static void downloadPicture(String imageUrl, String savePath) throws IOException {  
        URL url = new URL(imageUrl);  
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();  
        connection.setRequestMethod("GET");  
        connection.connect();

        int responseCode = connection.getResponseCode();  
        if (responseCode == HttpURLConnection.HTTP_OK) {  
            BufferedInputStream in = new BufferedInputStream(connection.getInputStream());  
            FileOutputStream out = new FileOutputStream(new File(savePath));

            byte[] buffer = new byte[1024];  
            int bytesRead;  
            while ((bytesRead = in.read(buffer)) != -1) {  
                out.write(buffer, 0, bytesRead);  
            }

            // 下载完成，关闭输入输出流  
            in.close();  
            out.close();  
            connection.disconnect();

            System.out.println("图片下载成功，保存路径：" + savePath);  
        } else {  
            System.out.println("无法下载图片，响应码：" + responseCode);  
        }  
    }  
}

